A user of an interactive system requests data or action from the system by manipulating an input means of an input/output device. The system processes the request and displays a response on a display means of the input/output device. The response is often displayed immediately. Occasionally, however, it will be delayed by a substantial or unpredictable amount of time. The sources of such delays include the computation time required to generate the response, the number and nature of other processes the data processing system is currently handling, and the load and bandwidth of the communication network connecting the input/output device to the data processing system.
An interactive data processing system also sends unsolicited responses to the user. An unsolicited response is a response which the user did not request. The time at which an unsolicited response will occur is generally unpredictable.
Therefore, the user of an interactive data processing system must either continuously monitor the output device for responses, or perform unrelated tasks and periodically check the display means to determine whether a response has occurred. Making such a determination is particularly difficult for responses that cause only minor changes to the display means. Such monitoring or checking frustrates the user and results in inefficient use of his or her time.
One conventional approach to reduce user frustration and inefficiency is an interactive data processing system which generates an audible alarm upon each response. For example, the Mead Data Central LEXIS/NEXIS communications software generates an audio tone each time the system finishes displaying a screen of text. Because responses are often displayed immediately, the alarm is often unnecessary. Unnecessary alarms distract and annoy the user as well as other people in the vicinity. Furthermore, they typically cause the user to ignore all alarms or turn the alarm feature off. Therefore, the first approach addresses user frustration and inefficiency only with respect to responses which are not displayed immediately.
A second conventional approach is an application program of an interactive data processing system which generates an alarm upon each unsolicited response. For example, electronic mail programs commonly alert a user when he or she receives mail. By freeing the user from having to periodically check his or her electronic mailbox, the second approach addresses user frustration and inefficiency with respect to unsolicited responses from the application program.
A third approach is a data processing system with windowing capabilities (called a windowing system) which generates an alarm upon each response issued to an obscured or iconified window. An iconified window is a window which has been replaced with an icon representative of the window. Obscuring or iconifying a window temporarily converts it to a form in which it takes up little space on the display means of the input/output device. A user typically obscures or iconifies a window when he or she need not interact with the application program or programs running in it. By freeing the user from having to periodically check the status of obscured and iconified windows, the third approach addresses user frustration and inefficiency with respect to programs not currently being used interactively.
Therefore, what is needed is an interactive data processing system capable of selectively and unobtrusively alerting the user when an application program sends a response, whether or not the response is solicited and whether or not the application program is presently being used interactively.